Skip to content
📈0️⃣

HTTP (HyperText Transfer Protocol)

其他 IT 专有名词

IT 行业专有名词

什么是 HTTP

HTTP(HyperText Transfer Protocol)即超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议

以下是 HTTP 协议的工作原理及其特点:

  1. 基于请求-响应模型:客户端(通常是 Web 浏览器)向服务器发送 HTTP 请求,然后服务器返回 HTTP 响应。请求包含方法、URL、协议版本以及可选的请求头和内容;响应包括状态码、响应头和响应内容。
  2. 运行在 TCP 之上:HTTP 协议本身是无状态的,通常建立在可靠的 TCP 连接之上,确保数据包的正确传输和接收。
  3. 无状态性:HTTP 协议不会保留之前的请求或响应的内容,每个请求都是独立的,这有助于提高服务器处理大量请求的能力。
  4. 支持多种方法:HTTP 定义了多种方法来执行不同的操作,如 GET 用于获取资源,POST 用于提交数据,PUT 用于更新资源,DELETE 用于删除资源等。
  5. MIME 类型:HTTP 使用 MIME 类型来表示传输的内容类型,如文本、图片、音频等,这使得浏览器能够正确解析和显示不同类型的数据。
  6. 可扩展性:HTTP 允许自定义头部字段,使得协议可以根据需要扩展新的功能,如 cookies 和认证信息等。
  7. 代理服务器:HTTP 允许中间代理服务器的存在,这些服务器可以缓存数据、过滤内容或者转发请求,增加了网络的灵活性和效率。
  8. 持久连接和非持久连接:虽然 HTTP/1.1 版本引入了持久连接的概念,允许在同一 TCP 连接上进行多个请求和响应交换,但早期的 HTTP/1.0 版本中每个请求都会建立一个新的连接,这被称为非持久连接。
  9. 管道化技术:在某些情况下,HTTP 请求可以在没有收到前一个响应的情况下发送,这被称为管道化技术,可以提高传输效率。

综上所述,HTTP 是 Web 工作的基础,它规定了客户端和服务器之间的通信方式,使得网页能够被请求、传输并最终在用户的浏览器上正确显示。

什么是 HTTP 协议

当用户在浏览器中输入一个网址并按下回车键时,浏览器会向服务器发送一个 HTTP 请求。这个请求包含了请求方法(如 GET 或 POST)、URL、协议版本以及其他可选的头部信息。

例如,假设用户想要访问一个名为"example.com"的网站,并且点击了一个链接,该链接指向了"http://www.example.com/index.html"。浏览器会生成一个HTTP GET 请求,其中包含以下内容:

html
GET /index.html HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 (Windows
NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124
Safari/537.36 Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9 Connection:
keep-alive

这个请求被发送到服务器,服务器接收到请求后会根据请求的内容返回相应的 HTTP 响应。响应包括状态码、响应头和响应内容。例如,服务器可能会返回以下响应:

html
HTTP/1.1 200 OK Date: Mon, 01 Jan 2022 00:00:00 GMT Server: Apache/2.4.41 (Unix)
Last-Modified: Wed, 29 Oct 2021 10:20:30 GMT ETag:
"33a64df551425fcc55e4d42a148795d9f25f89d4" Accept-Ranges: bytes Content-Length:
1270 Content-Type: text/html

<!DOCTYPE html>
<html>
  <head>
    <title>Example Website</title>
  </head>
  <body>
    <h1>Welcome to Example Website</h1>
    <p>This is an example website.</p>
  </body>
</html>

这个响应告诉浏览器页面成功加载,并提供了页面的 HTML 内容。浏览器解析 HTML 内容并在窗口中显示网页。

这就是 HTTP 协议的基本工作原理,它使得客户端和服务器之间能够进行通信,从而实现网页的请求和传输。